package com.xinjixian.webgame;

import android.content.Context;
import android.os.Environment;
import android.util.Log;
import android.widget.Toast;

import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

/**
 * Created by YXC on 2017/5/26.
 */

public class StorageApkUtil {
    private static File path = new File("/mnt/sdcard/" + Environment.DIRECTORY_DOWNLOADS);

    public static List<String> getFileName() {
        List<String> name = new ArrayList<>();
        if (Environment.getExternalStorageState().equals(
                Environment.MEDIA_MOUNTED)) {
            File[] files = path.listFiles();// 读取
            if (files != null) {                   // 先判断目录是否为空，否则会报空指针
                for (File file : files) {
                    if (file.isDirectory()) {
//                    Log.i("zeng", "若是文件目录。继续读1" + file.getName().toString()
//                    + file.getPath().toString());
//
//                   getFileName(file.listFiles());
//                     Log.i("zeng", "若是文件目录。继续读2" + file.getName().toString()
//                                     + file.getPath().toString());
                    } else {
                        String fileName = file.getName();
                        if (fileName.endsWith(".apk")) {
                            HashMap map = new HashMap();
                            String s = fileName.substring(0, fileName.lastIndexOf("."));
                            Log.i("zeng", "文件名:" + s);
                            name.add(s);
                        }
                    }
                }
            }
        }
        return name;
    }

    public static void deleteFile(File file, Context context) {
        if (file.exists()) { // 判断文件是否存在

            if (file.isFile()) { // 判断是否是文件
                file.delete(); // delete()方法 你应该知道 是删除的意思;
            }

            if (file.isDirectory()) { // 否则如果它是一个目录
                Toast.makeText(context, "不可删除文件夹", Toast.LENGTH_SHORT).show();
            }

        } else {
            Toast.makeText(context, "文件已经被删除了", Toast.LENGTH_SHORT).show();
        }
    }

    //是否本地已经有安装包
    public static boolean isApkExit(String fileName) {
        boolean flag = false;   //是否本地已经有安装包
        List<String> apkNames = getFileName();
        for (int i = 0; i < apkNames.size(); i++) {
            if (fileName.equals(apkNames.get(i))) {
                flag = true;
            }
        }
        return flag;
    }
}
